package nsu.edu.zsq.bean;

import javax.validation.constraints.Pattern;

import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.NoArgsConstructor;
import lombok.ToString;

/**
 * Description: 学校的教室表
 */
@ToString
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class SchRoom {
    /**
     * 主键id room_id
     */
    private Integer roomId;

    /**
     * 教室编号（id+教室号） room_no
     */
    private String roomNo;

    /**
     * 教学楼名称 build_name
     */
    @Pattern(regexp="^[\\S]{2,15}$", message="教学楼2-15个字符，且不能出现空格")
    @Excel(name = "教学楼名称", orderNum = "0")
    private String buildName;

    /**
     * 教室号 room_number
     */
    @Pattern(regexp="^[\\S]{2,10}$", message="教室号2-10个字符，且不能出现空格")
    @Excel(name = "教室号", orderNum = "1")
    private String roomNumber;

    /**
     * 教室名称：教学楼名+教室号 room_name
     */
    @Excel(name = "教室名称", orderNum = "3")
    private String roomName;

    /**
     * 上课日（周一至周五，1-5） course_week
     */
    private String courseWeek;

    /**
     * 上课时间（第几节，12,34,56,78,910） course_time
     */
    private String courseTime;

    /**
     * 教师||学生与课程中间表的id（如果是选修课则存tch_course的id，必修则存stu_course的id） course_id
     */
    private Integer courseId;

    /**
     * 是否为自习室，0：否；1：是 is_study_room
     */
    private Integer isStudyRoom;

    /**
     * Get 主键id
     * @return room_id 主键id
     */
    public Integer getRoomId() {
        return roomId;
    }

    /**
     * Set 主键id
     * @param roomId 主键id
     */
    public void setRoomId(Integer roomId) {
        this.roomId = roomId;
    }

    /**
     * Get 教室编号（id+教室号）
     * @return room_no 教室编号（id+教室号）
     */
    public String getRoomNo() {
        return roomNo;
    }

    /**
     * Set 教室编号（id+教室号）
     * @param roomNo 教室编号（id+教室号）
     */
    public void setRoomNo(String roomNo) {
        this.roomNo = roomNo == null ? null : roomNo.trim();
    }

    /**
     * Get 教学楼名称
     * @return build_name 教学楼名称
     */
    public String getBuildName() {
        return buildName;
    }

    /**
     * Set 教学楼名称
     * @param buildName 教学楼名称
     */
    public void setBuildName(String buildName) {
        this.buildName = buildName == null ? null : buildName.trim();
    }

    /**
     * Get 教室号
     * @return room_number 教室号
     */
    public String getRoomNumber() {
        return roomNumber;
    }

    /**
     * Set 教室号
     * @param roomNumber 教室号
     */
    public void setRoomNumber(String roomNumber) {
        this.roomNumber = roomNumber == null ? null : roomNumber.trim();
    }

    /**
     * Get 教室名称：教学楼名+教室号
     * @return room_name 教室名称：教学楼名+教室号
     */
    public String getRoomName() {
        return roomName;
    }

    /**
     * Set 教室名称：教学楼名+教室号
     * @param roomName 教室名称：教学楼名+教室号
     */
    public void setRoomName(String roomName) {
        this.roomName = roomName == null ? null : roomName.trim();
    }

    /**
     * Get 上课日（周一至周五，1-5）
     * @return course_week 上课日（周一至周五，1-5）
     */
    public String getCourseWeek() {
        return courseWeek;
    }

    /**
     * Set 上课日（周一至周五，1-5）
     * @param courseWeek 上课日（周一至周五，1-5）
     */
    public void setCourseWeek(String courseWeek) {
        this.courseWeek = courseWeek == null ? null : courseWeek.trim();
    }

    /**
     * Get 上课时间（第几节，12,34,56,78,910）
     * @return course_time 上课时间（第几节，12,34,56,78,910）
     */
    public String getCourseTime() {
        return courseTime;
    }

    /**
     * Set 上课时间（第几节，12,34,56,78,910）
     * @param courseTime 上课时间（第几节，12,34,56,78,910）
     */
    public void setCourseTime(String courseTime) {
        this.courseTime = courseTime == null ? null : courseTime.trim();
    }

    /**
     * Get 教师||学生与课程中间表的id（如果是选修课则存tch_course的id，必修则存stu_course的id）
     * @return course_id 教师||学生与课程中间表的id（如果是选修课则存tch_course的id，必修则存stu_course的id）
     */
    public Integer getCourseId() {
        return courseId;
    }

    /**
     * Set 教师||学生与课程中间表的id（如果是选修课则存tch_course的id，必修则存stu_course的id）
     * @param courseId 教师||学生与课程中间表的id（如果是选修课则存tch_course的id，必修则存stu_course的id）
     */
    public void setCourseId(Integer courseId) {
        this.courseId = courseId;
    }

    /**
     * Get 是否为自习室，0：否；1：是
     * @return is_study_room 是否为自习室，0：否；1：是
     */
    public Integer getIsStudyRoom() {
        return isStudyRoom;
    }

    /**
     * Set 是否为自习室，0：否；1：是
     * @param isStudyRoom 是否为自习室，0：否；1：是
     */
    public void setIsStudyRoom(Integer isStudyRoom) {
        this.isStudyRoom = isStudyRoom;
    }
}